// noImplicitAny 在表达式和声明上有隐含的 any类型时报错。
function add(a, b) {
   return a + b;
}
add(1, "2");

// strictNullChecks 不允许将null和undefined赋值给任何其它类型（any除外）
let a: number = null;
let b: number = undefined;
let c: any = null;

/* 
strictPropertyInitialization:true 类实例的属性必须初始化 
strictNullChecks必须同时为true
*/
class Animal {
   name: string;
   constructor(name: string) {
      // this.name = name
   }
}

/* noImplicitThis:true 不允许this隐式地为any类型 */
function Greeter(greeting) {
   this.greeting = greeting;
}

/* noImplicitReturns:true 强制函数的所有分支都有明确的返回 */
function fn() {
   if (Math.random() > 0.5) {
      return "grater than 0.5";
   }
   // return undefined
}

/* 
属性“replaceAll”在类型“"2022/11/30"”上不存在。
是否需要更改目标库? 
请尝试将 “lib” 编译器选项更改为“es2021”或更高版本。ts(2550) 
*/
const myDate = "2022/11/30".replaceAll("/","-")
